home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / Pascal / Snippets / PNL Libraries / Libraries / SpriteWorld / SpriteWorld files / Interfaces / Tiling.p < prev   
Text File  |  1996-12-05  |  4KB  |  77 lines

  1. unit Tiling;
  2.  
  3. interface
  4.  
  5. {/--------------------------------------------------------------------------------------}
  6. {    Tiling.h}
  7. {}
  8. {    By: Vern Jensen 10/27/95}
  9. {/--------------------------------------------------------------------------------------}
  10.  
  11. {$PUSH}
  12. {$ALIGN MAC68K}
  13.  
  14. {/--------------------------------------------------------------------------------------}
  15. {    define the TileMapPtr}
  16. {/--------------------------------------------------------------------------------------}
  17.  
  18.     uses
  19. {$IFC undefined THINK_Pascal}
  20.         Types, 
  21. {$ENDC}
  22.         SWCommonHeaders, Sprite, SpriteFrame;
  23.  
  24.     type
  25.         XTileArray = array[0..0] of integer;
  26.         XTileArrayPtr = ^XTileArray;
  27.         XTileArrayPtrArray = array[0..0] of XTileArrayPtr;
  28.         TileMapPtr = ^XTileArrayPtrArray;
  29.  
  30.     type
  31. {$IFC undefined THINK_Pascal}
  32.         TileChangeProcPtr = procedure ( spriteWorldP :SpriteWorldPtr );
  33. {$ELSEC}
  34.         TileChangeProcPtr = ProcPtr;
  35. {$ENDC}
  36.  
  37. {/--------------------------------------------------------------------------------------}
  38. {    tile function prototypes}
  39. {/--------------------------------------------------------------------------------------}
  40.  
  41.     function SWInitTiling (spriteWorldP: SpriteWorldPtr; tileHeight: Integer; tileWidth: Integer; maxNumTiles: Integer): OSErr;
  42.     procedure SWExitTiling (spriteWorldP: SpriteWorldPtr);
  43.     function SWCreateTileMap (spriteWorldP: SpriteWorldPtr; var tileMapPtr: TileMapPtr; numTileMapRows: Integer; numTileMapCols: Integer): OSErr;
  44.     procedure SWDisposeTileMap (spriteWorldP: SpriteWorldPtr);
  45.  
  46.     function SWResizeTileMap (spriteWorldP: SpriteWorldPtr; var tileMapPtr: TileMapPtr; numNewTileMapRows: Integer; numNewTileMapCols: Integer): OSErr;
  47.     function SWLoadTileMap (spriteWorldP: SpriteWorldPtr; var tileMapPtr: TileMapPtr; resourceID: Integer): OSErr;
  48.     function SWSaveTileMap (spriteWorldP: SpriteWorldPtr; resourceID: Integer): OSErr;
  49.     procedure SWLockTiles (spriteWorldP: SpriteWorldPtr);
  50.     procedure SWUnlockTiles (spriteWorldP: SpriteWorldPtr);
  51.     procedure SWSetTilingOn (spriteWorldP: SpriteWorldPtr; tilingIsOn: Boolean);
  52.  
  53.     procedure SWSetSpriteUnderTiles (srcSpriteP: SpritePtr; isUnder: Boolean);
  54.     function SWSetTileMaskDrawProc (spriteWorldP: SpriteWorldPtr; drawProc: DrawProcPtr): OSErr;
  55.     function SWLoadTileFromCicnResource (spriteWorldP: SpriteWorldPtr; tileID: Integer; cicnID: Integer; maskKind: MaskType): OSErr;
  56.     function SWLoadTilesFromPictResource (spriteWorldP: SpriteWorldPtr; startTileID: Integer; endTileID: Integer; pictResID: Integer; maskResID: Integer; maskType: MaskType; horizBorderWidth: Integer; vertBorderHeight: Integer): OSErr;
  57.     procedure SWDisposeTile (spriteWorldP: SpriteWorldPtr; tileID: Integer);
  58.     function SWDrawTilesInBackground (spriteWorldP: SpriteWorldPtr): OSErr;
  59.     procedure SWResetTilingCache (spriteWorldP: SpriteWorldPtr);
  60.     procedure SWDrawTile (spriteWorldP: SpriteWorldPtr; tileRow: Integer; tileCol: Integer; tileID: Integer);
  61.  
  62.     procedure SWSetTileChangeProc (spriteWorldP: SpriteWorldPtr; tileChangeProc: TileChangeProcPtr);
  63.     procedure SWChangeTileImage (spriteWorldP: SpriteWorldPtr; tileID: Integer; currentFrame: Integer);
  64.     procedure SWUpdateTileOnScreen (spriteWorldP: SpriteWorldPtr; tileID: Integer);
  65.     procedure SWResetCurrentTileImages (spriteWorldP: SpriteWorldPtr);
  66.     procedure SWDrawTilesInRect (spriteWorldP: SpriteWorldPtr; var updateRectP: Rect; faster: Boolean);
  67.     procedure SWDrawTilesAboveSprite (spriteWorldP: SpriteWorldPtr; var updateRectP: Rect);
  68.     procedure SWWrapRectToWorkArea (spriteWorldP: SpriteWorldPtr; var dstRectP: Rect);
  69.  
  70. {$ALIGN RESET}
  71. {$POP}
  72.  
  73. {$IFC not undefined THINK_Pascal}
  74. implementation
  75. {$ENDC}
  76. end.
  77.